﻿using CoreLib;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace CoreLibTestProject
{
    
    
    /// <summary>
    ///This is a test class for CCameraComponentTest and is intended
    ///to contain all CCameraComponentTest Unit Tests
    ///</summary>
    [TestClass()]
    public class CCameraComponentTest
    {


        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///A test for CCameraComponent Constructor
        ///</summary>
        [TestMethod()]
        public void CCameraComponentConstructorTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game);
            Assert.Inconclusive("TODO: Implement code to verify target");
        }

        /// <summary>
        ///A test for AspectRatio
        ///</summary>
        [TestMethod()]
        public void AspectRatioTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            target.AspectRatio = expected;
            actual = target.AspectRatio;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for ChaseDirection
        ///</summary>
        [TestMethod()]
        public void ChaseDirectionTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            Vector3 expected = new Vector3(); // TODO: Initialize to an appropriate value
            Vector3 actual;
            target.ChaseDirection = expected;
            actual = target.ChaseDirection;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for ChasePosition
        ///</summary>
        [TestMethod()]
        public void ChasePositionTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            Vector3 expected = new Vector3(); // TODO: Initialize to an appropriate value
            Vector3 actual;
            target.ChasePosition = expected;
            actual = target.ChasePosition;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for FarPlane
        ///</summary>
        [TestMethod()]
        public void FarPlaneTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            target.FarPlane = expected;
            actual = target.FarPlane;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for FarPlaneDistance
        ///</summary>
        [TestMethod()]
        public void FarPlaneDistanceTest()
        {
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            CCameraComponent.FarPlaneDistance = expected;
            actual = CCameraComponent.FarPlaneDistance;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for FieldOfView
        ///</summary>
        [TestMethod()]
        public void FieldOfViewTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            target.FieldOfView = expected;
            actual = target.FieldOfView;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for LookAt
        ///</summary>
        [TestMethod()]
        public void LookAtTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            Vector3 expected = new Vector3(); // TODO: Initialize to an appropriate value
            Vector3 actual;
            target.LookAt = expected;
            actual = target.LookAt;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for NearPlane
        ///</summary>
        [TestMethod()]
        public void NearPlaneTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            target.NearPlane = expected;
            actual = target.NearPlane;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for NearPlaneDistance
        ///</summary>
        [TestMethod()]
        public void NearPlaneDistanceTest()
        {
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            CCameraComponent.NearPlaneDistance = expected;
            actual = CCameraComponent.NearPlaneDistance;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Projection
        ///</summary>
        [TestMethod()]
        public void ProjectionTest()
        {
            Matrix expected = new Matrix(); // TODO: Initialize to an appropriate value
            Matrix actual;
            CCameraComponent.Projection = expected;
            actual = CCameraComponent.Projection;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Speed
        ///</summary>
        [TestMethod()]
        public void SpeedTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            target.Speed = expected;
            actual = target.Speed;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for TurnSpeed
        ///</summary>
        [TestMethod()]
        public void TurnSpeedTest()
        {
            Game game = null; // TODO: Initialize to an appropriate value
            CCameraComponent target = new CCameraComponent(game); // TODO: Initialize to an appropriate value
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            target.TurnSpeed = expected;
            actual = target.TurnSpeed;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for View
        ///</summary>
        [TestMethod()]
        public void ViewTest()
        {
            Matrix expected = new Matrix(); // TODO: Initialize to an appropriate value
            Matrix actual;
            CCameraComponent.View = expected;
            actual = CCameraComponent.View;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for ViewPort
        ///</summary>
        [TestMethod()]
        public void ViewPortTest()
        {
            Viewport actual;
            actual = CCameraComponent.ViewPort;
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
    }
}
